import java.util.Arrays;

/**
 * Created with IntelliJ IDEA
 * Description:数组拷贝
 * User:恋恋
 * Date:2022-08-31
 * Time:19:54
 */
public class copyofRange {
//    //System arraycopy
//    public static void main(String[] args) {
//        int[] arr = new int[]{1,2,3,4,5,6};
//        // int[] newARR3 = arraycopy
//        //数组中的每个元素逐一赋值给x
//        for (int x:arr) {
//            System.out.println(x);
//        }
//    }
    //ARRAY.CLONE()==未完成
//    public static void main(String[] args) {
//        int[] arr = new int[]{1,2,3,4,5,6,7};
//        int[] newARR2 = Arrays.clone
//    }
 //   Arrays.copyof方法在进行数组拷贝，创建了一个新的数组，新的对象，新的长度
  //  arr和newARR2引用的不是相同的对象
//    public static void main(String[] args) {
//        int[] arr = new int[]{1,2,3,4,5,6,7};
//        int[] newARR2 = Arrays.copyOf(arr,8);
//        arr[0]=3;
//        System.out.println("arr："+Arrays.toString(arr));
//        System.out.println("newARR2:"+Arrays.toString(newARR2));
//
//    }

    //newARR2和arr引用同一个数组---直接拷贝
    //因此newARR2修改空间中内容之后，arr也会出现看到修改的结果
//    public static void main(String[] args) {
//        int[] arr=new int[]{1,2,3,4,5,6,7};
//        int[] newARR2=arr;
//        arr[0]=10;
//        System.out.println("arr："+Arrays.toString(arr));
//        System.out.println("newARR2:"+Arrays.toString(newARR2));
//    }
//    Arrays.copyofRange方法在进行数组局部拷贝，创建了一个新的对象，新的范围
//    public static void main(String[] args) {
//        int[] arr={1,2,3,4,6};//静态初始化
//        //拷贝某个范围
//        int[] newARR1= Arrays.copyOfRange(arr,2,4);
//        arr[3]=5;
//        System.out.println("newARR1:" +Arrays.toString(newARR1));
//    }
}
